The present invention relates to networking, especially the providing of content to multiple users, especially video content on demand to multiple users.
Video-on-demand (VoD) systems have been commercially available for many years. However, except in a few cities, large-scale deployment of VoD service is still uncommon. One of the reasons is the high cost of establishing large-scale interactive VoD service using conventional technologies. The traditional “true VoD” (TVoD) model calls for a dedicated channel, both at the server and at the network, for each active user during the entire duration of the user's video session (for example, about one, two, or more hours for each movie). In a city with potentially more than millions or tens of millions of subscribers, the infrastructure investment required for TVoD is prohibitive.
Alternatives have been proposed to TVoD. One such alternative is called “near VoD” (NVoD). An NVoD system repeatedly broadcasts for multiple users (“multicasts”) each video (e.g., movie) over multiple channels at fixed time intervals so that an incoming user can simply join the next upcoming multicast cycle without incurring additional resource expenditures by a video server. The drawback of NVoD is that, unless prohibitively many channels are dedicated to each video, the wait time (latency) faced by an arriving user can be undesirably long.
Other alternatives have been proposed to TVoD that attempt to improve upon NVoD in various ways. However, these other alternatives frequently remedy one deficiency only to create other deficiencies. For example, an approach called “chaining” allows an arriving user to view a video, not by waiting for a next pre-scheduled multicast cycle, but by quickly obtaining from a fellow user the streamed video of a previous broadcast that was recently watched and cached by the fellow user. The chaining approach can reduce latency, as compared to NVoD. However, the chaining approach also adds a new need for sufficient network bandwidth for users to stream video to one another.
Various schemes for VoD are similar to chaining in that they create complexity and resource requirements that may be tolerable for small-scale systems but that become intolerable if a large-scale system is to be built. Such schemes are merely isolated solutions to isolated problems but do not include a complete solution for a large-scale VoD system. In short, many existing schemes for VoD do not “scale up” well and are not efficient, especially if attempted to be used in large-scale VoD systems.